home *** CD-ROM | disk | FTP | other *** search
/ SGI Origin & Onyx2 Patches 1998 May / Origin and Onyx2 System Disk Patches May 1998.img / dist / patchSG0002754.idb / usr / relnotes / patchSG0002754 / ch1.z / ch1
Text File  |  1998-04-01  |  14KB  |  397 lines

  1.  
  2.  
  3.  
  4.                                   - 1 -
  5.  
  6.  
  7.  
  8.        1.  _P_a_t_c_h__S_G_0_0_0_2_7_5_4__R_e_l_e_a_s_e__N_o_t_e
  9.  
  10.        This release note describes patch SG0002754 to IRIX 6.4
  11.        S2MP+OCTANE.
  12.  
  13.        Patch SG0002754 replaces patches SG0002299, SG0002061,
  14.        SG0002036, SG0001956, SG0001965, SG0001887 and SG0001862.
  15.  
  16.        1.1  _S_u_p_p_o_r_t_e_d__H_a_r_d_w_a_r_e__P_l_a_t_f_o_r_m_s
  17.  
  18.        This patch contains bug fixes for Origin, Onyx2 and OCTANE
  19.        systems.  The software cannot be installed on other
  20.        configurations.
  21.  
  22.  
  23.        1.2  _S_u_p_p_o_r_t_e_d__S_o_f_t_w_a_r_e__P_l_a_t_f_o_r_m_s
  24.  
  25.        This patch contains bug fixes for IRIX 6.4 (version
  26.        1263561140).  The software cannot be installed on other
  27.        configurations.
  28.  
  29.        1.3  _B_u_g_s__F_i_x_e_d__b_y__P_a_t_c_h__S_G_0_0_0_2_7_5_4
  30.  
  31.        This patch contains fixes for the following bugs in IRIX 6.4
  32.        S2MP+OCTANE.  Bug numbers from Silicon Graphics bug tracking
  33.        system are included for reference.
  34.  
  35.           +o Need a workaround for the bridge llp control register
  36.             bug (#454474):  If the address in the register belongs
  37.             to the RESET_INT_STATUS, continue processing the
  38.             interrupt normally. In any other case this would be an
  39.             error due caused by software.
  40.  
  41.           +o pciio_dmamap_done() doesn't work (Bug #460005):  even
  42.             though calls to pciio_dmamap_done are being made,
  43.             subsequent calls to pciio_dmamap_addr still result in
  44.             complaints from the Hub support code about reuse of
  45.             mapping resources.
  46.  
  47.           +o pciio_dmatrans_list() and pciio_dmamap_list() do not
  48.             work (Bug #462543):  they always return NULL when
  49.             PCIIO_INPLACE is specified, after setting up
  50.             translations for all members of the input list and
  51.             replacing the first member of the list with the
  52.             translation of the last member.
  53.  
  54.           +o Read Response Buffers not cleared when released
  55.             (#469217):  If a device driver reduces its RRB
  56.             allocations after some DMA has occurred, it is possible
  57.             that it might leave the released RRB in a strange
  58.             state.
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.                                   - 2 -
  71.  
  72.  
  73.  
  74.           +o Need a way to explicitly clear RRBs (#469890):  Some
  75.             devices under normal operation do strange things that
  76.             can leave RRBs in a confused state; the drivers for
  77.             these devices need a way to fix the situation.
  78.  
  79.           +o pciio_dmatrans_list skips first byte (#473642):  When
  80.             the PCIIO_NOSLEEP flag is specified in a call to
  81.             pciio_dmatrans_list, the first byte of the target is
  82.             discarded from the list.
  83.  
  84.           +o Handle speculative stores to Prom space (#474335):  The
  85.             R10000 CPU can emit a cache line writeback to any
  86.             address that will respond to a cache line read, due to
  87.             the way speculative stores are handled.  Detect when
  88.             this happens to Prom space and recover.
  89.  
  90.           +o Various enhancements in support of XIO-VME (#483978):
  91.             SGI's XIO-VME adapter uses a PCI bus internally, with
  92.             some enhancements; small changes were required to the
  93.             PCI infrastructure to allow the flexibility to take
  94.             advantage of these.
  95.  
  96.           +o PCI Retry Counter bug workaround (#475347):  Add a
  97.             workaround for a bug in Rev.C and earlier XIO-PCI
  98.             Bridge host adapter chips that can occasionally cause
  99.             PIO Stores to be dropped.
  100.  
  101.           +o PCI BASE setup failure fix (#482338):  handle PCI
  102.             devices with BASE regs that do not reset to all-zeros:
  103.             if the space that a window is decoding in is not
  104.             enabled in the COMMAND register, or indicates a decode
  105.             of PCI space that we do not allow, treat it as
  106.             unassigned.
  107.  
  108.           +o Access to PCI I/O Spaces (#482741):  PIO addresses
  109.             constructed to access device registers mapped in I/O
  110.             space encounter a hardware bug in XIO-PCI host adapters
  111.             until Rev D. Refuse to provide a mapping, rather than
  112.             providing a mapping that does not work.
  113.  
  114.           +o Data corruption with old chips, raw DMA (#482836):
  115.             Prevent data corruption that may occur if the
  116.             prefetcher on a Rev B XIO-PCI host adapter chip is
  117.             enabled and the QL SCSI initiates DMA that is not
  118.             cache-line aligned.
  119.  
  120.           +o PCI External Address Translation bug workaround
  121.             (#484930):  If the system is updating some external
  122.             ATEs in the PCI host adapter while DMA on that bus is
  123.             using another external ATE, the DMA may be directed
  124.             using stale ATE information, resulting in the DMA
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.                                   - 3 -
  137.  
  138.  
  139.  
  140.             fetching from or storing to the wrong page of physical
  141.             memory.
  142.  
  143.           +o Unable to control endianness of PCI PIO (#486476):  The
  144.             PCIIO_BYTE_STREAM and PCIIO_WORD_VALUES flags were
  145.             being ignored by all pciio_pio functions.
  146.  
  147.           +o Insufficient PIO mapping resources (#486479):  Certain
  148.             resources previously reserved for PCI slots that had no
  149.             devices attached may now be used to satisfy PIO
  150.             requests for other slots.
  151.  
  152.           +o PCI Expansion Roms not handled (#486481):  Add code to
  153.             allocate PCI address space for Expansion Roms, and to
  154.             support PCIIO_SPACE_ROM in PIO requests as a request to
  155.             map the space allocated to the ROM.
  156.  
  157.           +o Revised PCI Bus Access driver (#486484,#485281):  Added
  158.             a loadable device driver (pciba) that provides direct
  159.             access to the PCI Bus and the devices on it.
  160.  
  161.           +o Support access to IOC3 in pciba (#491100):  SGI's IOC3
  162.             device is somewhat unique in that it uses two pairs of
  163.             PCI REQ/GNT lines.  The pciba driver has been revised
  164.             to allow access to the IOC3 using the secondary slot.
  165.  
  166.           +o Change pciba behavior with misaligned windows
  167.             (#491837):  Change vague warning that always appears
  168.             into a specific recommentdation, only printed in debug
  169.             kernels.  Additionally, do not allow mmap operations to
  170.             misaligned windows.
  171.  
  172.           +o Allow PCIIOCSETULI from 32-bit apps (#502808):  The
  173.             parameter structure for ULI work contains pointers, and
  174.             therefore looks different when the call is made from a
  175.             32-bit application.  Detect the difference and do the
  176.             right thing.
  177.  
  178.           +o Deliver sys/PCI/pciba.h (#507789):  A previous version
  179.             of this patch introduced the pciba driver. The header
  180.             file defining values for IOCTL commands for this driver
  181.             was not included in the patch; now it is.
  182.  
  183.           +o Avoid crashing when pciba ioctl encounters an error
  184.             (#509712):  pciba_ioctl was disconnecting an interrupt
  185.             handle that was really an uninitialized automatic
  186.             variable, causing an immediate crash in
  187.             pcibr_intr_disconnect.
  188.  
  189.           +o Provide byte-[un]swapped PIO access (#511650):  PIO
  190.             access to the PCI bus using mmap facilities in the
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.                                   - 4 -
  203.  
  204.  
  205.  
  206.             pciba driver always set up the byte swappers assuming
  207.             the device on the other end was little-endian.  After
  208.             this patch, additional verticies will be built with _be
  209.             and _le suffixes; mmap-provided pointers from these
  210.             verticies will explicitly be set up for big-endian and
  211.             little-endian targets.
  212.  
  213.           +o Document hwo to load pciba at system startup (#511653):
  214.             The manual page for pciba has been revised to contain
  215.             explicit directions on how to configure the system so
  216.             that the pciba driver is loaded automatically during
  217.             boot.
  218.  
  219.           +o Handle PIO timeouts to unknown PCI addresses (#511664):
  220.             If an access was made to the PCI bus at an address that
  221.             did not correspond strictly with a region decoded by a
  222.             device's BASE register, the resulting diagnosis was
  223.             extremely confusing to deal with.  This patch adds more
  224.             smarts to the address search algorithms, and makes the
  225.             message when there is no match much simpler to
  226.             understand.
  227.  
  228.           +o Report PCI host adapter revisions to the log (#511695):
  229.             Subtile differences between various revisions of the
  230.             PCI host adapter chip are important when diagnosing
  231.             problems in the system.  With this patch, all kernels
  232.             linked for debugging will print the revisions of such
  233.             chips into the system log at boot time.
  234.  
  235.           +o PCI interrupts stop when one handler disconnects
  236.             (#511698):  Shared interrupt was getting disabled when
  237.             any handler disconnects from it, preventing other
  238.             handlers from being notified should that interrupt
  239.             occur again later; This has been fixed.
  240.  
  241.           +o Base registers are not being initialized properly
  242.             (#544777):  Pci base register setting code assumes that
  243.             the base registers are contiguous which is not always
  244.             true. This has been fixed.
  245.  
  246.           +o Dma alenlist address translation interfaces donot reset
  247.             cursor (#555051):  Pciio_dma{trans,map}_list interfaces
  248.             now reset the internal cursor of the alenlist of pci
  249.             addresses. Also the error dumping code prints out the
  250.             SSRAM parity error register during a PMU_ESIZE fault.
  251.  
  252.           +o Pci space checking for MEM not fully correct in pio
  253.             error handling (#558198):  In the pio error handling
  254.             path fixed the MEM space comparison to find out a
  255.             possible base register mapping the pio address for the
  256.             device.  Basically if the mem space is either MEM32 or
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.                                   - 5 -
  269.  
  270.  
  271.  
  272.             MEM64 at the time of base register mapping space
  273.             comparison the one for the base register is being
  274.             converted to MEM (in the case of MEM32 or MEM64)
  275.             whereas the raw space for the pio error address is
  276.             still being left as MEM32 or MEM64 causing the pci
  277.             device error handler not being called.
  278.  
  279.           +o hang when re-using large dmamaps (#571536):  Any
  280.             application will hang when re-using a dmamap that is
  281.             large enough to be forced into the external ATEs in the
  282.             XIO-VME bridge.
  283.  
  284.        1.4  _S_u_b_s_y_s_t_e_m_s__I_n_c_l_u_d_e_d__i_n__P_a_t_c_h__S_G_0_0_0_2_7_5_4
  285.  
  286.        This patch release includes these subsystems:
  287.  
  288.           +o patchSG0002754.eoe1_sw.unix
  289.  
  290.  
  291.        1.5  _I_n_s_t_a_l_l_a_t_i_o_n__I_n_s_t_r_u_c_t_i_o_n_s
  292.  
  293.        Because you want to install only the patches for problems
  294.        you have encountered, patch software is not installed by
  295.        default.  After reading the descriptions of the bugs fixed
  296.        in this patch (see Section 1.3), determine the patches that
  297.        meet your specific needs.
  298.  
  299.        If, after reading Sections 1.1 and 1.2 of these release
  300.        notes, you are unsure whether your hardware and software
  301.        meet the requirements for installing a particular patch, run
  302.        _i_n_s_t.  The _i_n_s_t program does not allow you to install
  303.        patches that are incompatible with your hardware or
  304.        software.
  305.  
  306.        Patch software is installed like any other Silicon Graphics
  307.        software product.  Follow the instructions in your _S_o_f_t_w_a_r_e
  308.        _I_n_s_t_a_l_l_a_t_i_o_n _A_d_m_i_n_i_s_t_r_a_t_o_r'_s _G_u_i_d_e to bring up the miniroot
  309.        form of the software installation tools.
  310.  
  311.        Follow these steps to select a patch for installation:
  312.  
  313.          1.  At the Inst> prompt, type
  314.  
  315.              iiiinnnnssssttttaaaallllllll ppppaaaattttcccchhhhSSSSGGGG_x_x_x_x_x_x_x
  316.  
  317.              where _x_x_x_x_x_x_x is the patch number.
  318.  
  319.          2.  Initiate the installation sequence. Type
  320.  
  321.              IIIInnnnsssstttt>>>> ggggoooo
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.                                   - 6 -
  335.  
  336.  
  337.  
  338.          3.  You may find that two patches have been marked as
  339.              incompatible.  (The installation tools reject an
  340.              installation request if an incompatibility is
  341.              detected.)  If this occurs, you must deselect one of
  342.              the patches.
  343.  
  344.              IIIInnnnsssstttt>>>> kkkkeeeeeeeepppp ppppaaaattttcccchhhhSSSSGGGG_x_x_x_x_x_x_x
  345.  
  346.              where _x_x_x_x_x_x_x is the patch number.
  347.  
  348.          4.  After completing the installation process, exit the
  349.              _i_n_s_t program by typing
  350.  
  351.              IIIInnnnsssstttt>>>> qqqquuuuiiiitttt
  352.  
  353.  
  354.  
  355.        1.6  _P_a_t_c_h__R_e_m_o_v_a_l__I_n_s_t_r_u_c_t_i_o_n_s
  356.  
  357.        To remove a patch, use the _v_e_r_s_i_o_n_s _r_e_m_o_v_e command as you
  358.        would for any other software subsystem.  The removal process
  359.        reinstates the original version of software unless you have
  360.        specifically removed the patch history from your system.
  361.  
  362.        vvvveeeerrrrssssiiiioooonnnnssss rrrreeeemmmmoooovvvveeee ppppaaaattttcccchhhhSSSSGGGG_x_x_x_x_x_x_x
  363.  
  364.        where _x_x_x_x_x_x_x is the patch number.
  365.  
  366.        To keep a patch but increase your disk space, use the
  367.        _v_e_r_s_i_o_n_s _r_e_m_o_v_e_h_i_s_t command to remove the patch history.
  368.  
  369.        vvvveeeerrrrssssiiiioooonnnnssss rrrreeeemmmmoooovvvveeeehhhhiiiisssstttt ppppaaaattttcccchhhhSSSSGGGG_x_x_x_x_x_x_x
  370.  
  371.        where _x_x_x_x_x_x_x is the patch number.
  372.  
  373.        1.7  _K_n_o_w_n__P_r_o_b_l_e_m_s
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.